// var i;
// var c = cc._decorator;
// var s = c.ccclass;
// var l = c.property;
// var u = c.menu;
// var d = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.toScale = 1.1;
//         t.time = 0.5;
//         t.delay = 0.5;
//         t.normalScale = 1;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.onLoad = function () {
//         this.node.tss = this;
//         this.normalScale = this.node.scale;
//         this.node.runAction(
//             cc.repeatForever(
//                 cc.sequence(
//                     cc.scaleTo(this.time, this.normalScale * this.toScale),
//                     cc.scaleTo(this.time, this.normalScale),
//                     cc.delayTime(this.delay)
//                 )
//             )
//         );
//     };
//     __decorate(
//         [
//             l({
//                 type: cc.Float
//             })
//         ],
//         t.prototype,
//         "toScale",
//         void 0
//     );
//     __decorate(
//         [
//             l({
//                 type: cc.Float
//             })
//         ],
//         t.prototype,
//         "time",
//         void 0
//     );
//     __decorate(
//         [
//             l({
//                 type: cc.Float
//             })
//         ],
//         t.prototype,
//         "delay",
//         void 0
//     );
//     return __decorate([s, u("UI组件/UIScale")], t);
// })(cc.Component);
// exports.default = d;


const { ccclass, property, menu } = cc._decorator;

/**
 * UIScale 组件，用于节点的缩放动画
 * 建议类名: UIScaleComponent
 */
@ccclass
@menu("UI组件/UIScale")
export default class UIScale extends cc.Component {
    /** 缩放目标比例 */
    @property({
        type: cc.Float
    })
    toScale: number = 1.1;

    /** 缩放时间 */
    @property({
        type: cc.Float
    })
    time: number = 0.5;

    /** 动画延迟时间 */
    @property({
        type: cc.Float
    })
    delay: number = 0.5;

    /** 正常比例 */
    private normalScale: number = 1;

    /**
     * 当组件加载时调用
     * 建议方法名: handleOnLoad
     */
    onLoad(): void {
        this.node['tss'] = this;
        this.normalScale = this.node.scale;
        this.node.runAction(
            cc.repeatForever(
                cc.sequence(
                    cc.scaleTo(this.time, this.normalScale * this.toScale),
                    cc.scaleTo(this.time, this.normalScale),
                    cc.delayTime(this.delay)
                )
            )
        );
    }
}